const app = getApp()
import { mixin } from '../../utils/mixin'
Page({
  data: {
    // 是否显示倒计时
    isShow: true,
    //!注意不能定义为对象，要不然不生效
    mobile: '15835515978',
    code: '',
    times: 60000
  },
  behaviors: [mixin],
  async getCode() {
    /**
     * 获取验证码：
     * 1.校验手机号
     * 2.显示倒计时=》60s内不能重复发送
     * 3.发送验证码到输入框并显示
     */
    const reg = /^[1][3-8][0-9]{9}$/
    const { mobile } = this.data
    console.log('手机号', mobile);
    if (!reg.test(mobile.trim())) return wx.utils.message('手机号提示有误')
    this.setData({
      isShow: false
    })
    const res = await wx.http.get('/code', { mobile: mobile.trim() })
    console.log(res);
    this.copyCode(res.data.code)
    // this.setData({
    //   code: res.data.code
    // })
  },
  // 复制验证码到粘贴板
  copyCode(code) {
    wx.setClipboardData({ data: code })
  },
  finish() {
    this.setData(({
      isShow: true,
      mobile: '',
      code: ''
    }))
  },
  //发送登录信息

  // 提交数据完成登录
  async submit() {
    // 逐个验证表单数据
    if (this.data.mobile === '') return wx.utils.message('电话号码不能空')
    if (this.data.code === '') return wx.utils.message('验证码不能为空')

    // 用户填写的手机号和验证码
    const { mobile, code } = this.data
    // 调用接口登录/注册
    const res = await wx.http.post('/login', { mobile, code })
    // console.log('获取token', res);
    // 拼凑完整 token 
    const token = 'Bearer ' + res.data.token
    // 本地存储 token
    app.setToken(token)
    // 更新全局 token
    app.token = token

    //跳转  处理回调地址
    const url = this.redirectUrl || '/pages/my/index'
    //url可能是tabBar页面，也可能是普通页面
    if (this.isTabBar(url)) {
      wx.switchTab({
        url
      })
    } else {
      wx.navigateTo({
        url
      })
    }

  }
})
